package com.yike.user.service;

import com.yike.common.vo.LoginUserInfoVo;
import com.yike.user.entity.PlatformUser;
import com.yike.user.param.PlatformUserLoginParam;
import com.yike.user.param.PlatformUserPageParam;
import com.yike.common.base.BaseService;
import com.yike.common.pagination.Paging;
import com.yike.user.param.PlatformUserParam;
import com.yike.user.vo.PlatformUserVo;

/**
 * 平台用户 服务类
 *
 * @author Sakura
 * @since 2024-10-29
 */
public interface PlatformUserService extends BaseService<PlatformUser> {

    /**
     * 保存
     *
     * @param platformUserParam
     * @return
     * @throws Exception
     */
    boolean savePlatformUser(PlatformUserParam platformUserParam) throws Exception;

    /**
     * 修改
     *
     * @param platformUserParam
     * @return
     * @throws Exception
     */
    boolean updatePlatformUser(PlatformUserParam platformUserParam) throws Exception;

    /**
     * 删除
     *
     * @param id
     * @return
     * @throws Exception
     */
    boolean deletePlatformUser(Long id) throws Exception;

    PlatformUserVo getPlatformUser(Long id) throws Exception;

    /**
     * 获取分页对象
     *
     * @param platformUserPageParam
     * @return
     * @throws Exception
     */
    Paging<PlatformUserVo> getPlatformUserPageList(PlatformUserPageParam platformUserPageParam) throws Exception;

    LoginUserInfoVo login(PlatformUserLoginParam platformUserLoginParam) throws Exception;

}
